Imports System.Collections

Friend Class AuditTable
     Private _sTableSchemaName As String
     Private _sTableName As String

     Public Sub New(ByVal TableSchemaName As String, ByVal TableName As String)
          _sTableSchemaName = TableSchemaName.Trim
          _sTableName = TableName.Trim
     End Sub

     Public ReadOnly Property TableSchemaName() As String
          Get
               Return _sTableSchemaName
          End Get
     End Property

     Public ReadOnly Property TableName() As String
          Get
               Return _sTableName
          End Get
     End Property

     Public ReadOnly Property QualifiedTableName() As String
          Get
               Return _sTableSchemaName & "." & _sTableName
          End Get
     End Property
End Class

Friend Class AuditTables
     Inherits CollectionBase

     Public Sub New()
          List.Clear()
     End Sub

     Public Sub Add(ByVal Table As AuditTable)
          List.Add(Table)
     End Sub

     Public Sub Add(ByVal TableSchemaName As String, ByVal TableName As String)
          List.Add(New AuditTable(TableSchemaName, TableName))
     End Sub

     Default Public Property Item(ByVal Index As Integer) As AuditTable
          Get
               Return CType(List.Item(Index), AuditTable)
          End Get
          Set(ByVal Value As AuditTable)
               List.Item(Index) = Value
          End Set
     End Property
End Class
